package com.zlkj.pro.modular.business.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;

import java.time.LocalDate;
import java.util.Date;

/**
 * 报备单
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_report")
public class ReportEntity extends Model<ReportEntity> {

    /*@TableId(value = "id", type = IdType.AUTO)*/
    @TableId(value = "id")
    private Long id;

    @TableField("code")
    private String code;

    @TableField("status")
    private Integer status;

    @TableField("confer_status")
    private Integer conferStatus;

    @TableField("certificate_status")
    private Integer certificateStatus;

    @TableField("agent_id")
    private Long agentId;

    @TableField("customer_id")
    private Long customerId;

    @TableField("customer_name")
    private String customerName;

    @TableField("customer_type")
    private Integer customerType;

    @TableField("customer_classify")
    private String customerClassify;

    @TableField("customer_address")
    private String customerAddress;

    @TableField("customer_address_detail")
    private String customerAddressDetail;

    @TableField("customer_level")
    private Integer customerLevel;

    @TableField("customer_status")
    private Integer customerStatus;

    @TableField("customer_uscc")
    private String customerUscc;

    @TableField("customer_remark")
    private String customerRemark;

    @TableField("customer_phone")
    private String customerPhone;

    @TableField("customer_contacts_name")
    private String customerContactsName;

    @TableField("customer_contacts_phone")
    private String customerContactsPhone;

    @TableField("invalid_source")
    private String invalidSource;

    @TableField("invalid_reason")
    private String invalidReason;

    @TableField("expiration_date_start")
    private LocalDate expirationDateStart;

    @TableField("expiration_date_end")
    private LocalDate expirationDateEnd;

    @TableField("approve_date")
    private LocalDate approveDate;

    @TableField("approve_user")
    private Long approveUser;

    @TableField("delay_date")
    private LocalDate delayDate;

    @TableField("delay_reason")
    private String delayReason;

    @TableField("remark")
    private String remark;

    @TableField("apply_end_date")
    private LocalDate applyEndDate;

    @TableField("transaction_date")
    private LocalDate transactionDate;


    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 更新人
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 删除标记：Y-已删除，N-未删除
     */
    @TableLogic
    @TableField(value = "del_flag")
    private String delFlag;

    @TableField("delay_apply_time")
    private Date delayApplyTime;

    @TableField("delay_create_user_id")
    private Long delayCreateUserId;

    @TableField("delay_pass_time")
    private Date delayPassTime;

    @TableField("delay_pass_user_id")
    private Long delayPassUserId;

    @TableField("install_address")
    private String installAddress;

    @TableField("why_auto_fail")
    private String whyAutoFail;


    @TableField("fail_codes_4")
    private String failCodes4;

    @TableField("fail_codes_3")
    private String failCodes3;

    @TableField("fail_codes_6")
    private String failCodes6;

    @TableField("fail_codes_9")
    private String failCodes9;

    @TableField("fail_codes_1")
    private String failCodes1;

    @TableField("fail_codes_2")
    private String failCodes2;

    @TableField("send_msg_date")
    private LocalDate sendMsgDate;

    @TableField("discuss_end_date")
    private LocalDate discussEndDate;

    @TableField("fail_codes_14")
    private String failCodes14;

    @TableField("fail_codes_13")
    private String failCodes13;

    @TableField("fail_codes_16")
    private String failCodes16;

    @TableField("fail_codes_19")
    private String failCodes19;

    @TableField("fail_codes_11")
    private String failCodes11;

    @TableField("fail_codes_12")
    private String failCodes12;

    @TableField("sell_code")
    private String sellCode;

}
